package com.billing.service;

import java.util.List;

import com.billing.persistance.entities.Invoice;
import com.billing.persistance.entities.BillingEntry;

public interface InvoiceService {
    
    public void createInvoice(Invoice invoice);
    
    public void deleteInvoice(Invoice invoice);
    
    public void updateInvoice(Invoice invoice);
    
    public Invoice readInvoice(Long id);
    
    public List<Invoice> getInvoices();
    
    public void addBillingEntryToInvoice(Invoice invoice, BillingEntry entry);
    
    public void removeBillingEntryFromInvoice(Invoice invoice, BillingEntry entry);

    public void generateInvoiceReport(Invoice invoice);
}

